# 导包
import logging.handlers
import config


# 初始化日志
def init_log():
    # 创建日志器
    logger = logging.getLogger()
    # 设置打印日志信息等级（DEBUG/INFO/WARNING/ERROR/CRITICAL）
    logger.setLevel(logging.DEBUG)

    # 创建处理器
    # 1、创建控制台处理器
    ls = logging.StreamHandler()
    # 2、创建文件处理器
    # 注意：参数的含义不要记、可以使用 ctrl + （点击）方法名 跳转至方法定义位置有对应的参数说明
    # 参数说明：
    # （1）指定日志文件存放的路径及名称
    # （2）when 版本的时间单位、如 小时、分钟、天、半夜等
    # （3）interval 本分的时间间隔
    #  (4) backupCount 指定保留旧日志文件的数量
    lf = logging.handlers.TimedRotatingFileHandler(config.BASE_PATH + "/log/log.log", when="midnight", interval=1, backupCount=31)

    # 创建格式化器
    fmt = logging.Formatter("%(asctime)s %(lineno)d %(message)s")

    # 将格式化器绑定至处理器
    # 1、将格式化器绑定至控制台处理器
    ls.setFormatter(fmt)
    # 2、将格式化器绑定至文件处理器
    lf.setFormatter(fmt)

    # 将处理器绑定至日志器
    # 1、将控制台处理器绑定至日志器
    logger.addHandler(ls)
    # 2、将文件处理器绑定至日志器
    logger.addHandler(lf)